package 笔试;

import java.util.Arrays;
import java.util.LinkedList;

public class test {

    public static void main(String[] args) {
        ListNode node1=new ListNode(1);
        ListNode node2=new ListNode(2);
        ListNode node3=new ListNode(3);
        ListNode node4=new ListNode(4);
        ListNode node5=new ListNode(5);
        ListNode node6=new ListNode(6);
        node1.next=node2;
        node2.next=node3;
        node3.next=node4;
        node4.next=node5;
        node5.next=node6;
        System.out.println(findMidNode(node1));

    }
    public static int findMidNode (ListNode head) {
        // write code here
        ListNode node=head;
        ListNode node4=head;
        int n=0;
        while (node!=null){
            node=node.next;
            n++;
        }
        n=n/2+1;
        int in=1;
        for (int i=in;i<n;i++){
            node4=node4.next;
        }
        return node4.val;
    }
}
 class ListNode {
    int val;
    ListNode next = null;
    public ListNode(int val) {
      this.val = val;
    }
  }



    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     * 查找单链表中间节点
     * @param head ListNode类 链表头节点
     * @return int整型
     */

